
package org.ft.service.feign;

import org.ft.service.feign.result.service.ServiceAddResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import javax.validation.constraints.NotNull;

/**
 * @copyright (C), 2015-2019, XXX有限公司
 * @fileName: GaoDeFalcon
 * @author: FT-Lee
 * @date: 2019/4/26 17:13
 * @description: 高德猎鹰服务管理接口
 * @history: <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
@FeignClient(url = "https://tsapi.amap.com/v1/track/service", name = "falcon-track")
public interface IGaoDeFalconServiceManager {

    /**
     * 创建服务
     * 可以通过此请求，在对应的 Key 下增加 1 个 Service
     * Service 增加成功后会返回 Service 的 id。
     * 每个 Key 下最多注册15个 Service
     *
     * @param key  请求服务权限标识,用户在高德地图官网申请Web服务API类型KEY
     * @param name Service 的名字，名字在同一个 Key 下不可重复，不可为空。命名规则：仅支持中文、英文大小字母、英文下划线"_"、英文横线"-"和数字,不能以"_"开头，最长不得超过128个字符。
     * @param desc 针对此 Service 的文字描述，方便用户对 Service 进行记忆。
     * @return
     */
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    ServiceAddResult add(@NotNull @RequestParam("key") String key,
                         @NotNull @RequestParam("name") String name,
                         @RequestParam("desc") String desc
    );
}
